import numpy as np 
import tensorflow as tf
#对于不符合要求的张量的类型及精度，需要通过tf.cast函数进行强制转换。
#进行类型转换时，需要保证转换操作的合法性，例如将高精度的张量转换为低精度的张量时，可能发生数据溢出隐患。
a=tf.constant(np.pi,dtype=tf.float16)
print('tf.float16低精度张量',a)

aa=tf.cast(a,tf.double)
print('转换高精度后的张量',aa)

a1=tf.constant([True,False])
aa1=tf.cast(a1,tf.int32)
print('布尔类型转换整数',aa1)

a2=tf.constant([-1,0,1,2])
aa2=tf.cast(a,tf.bool)
print('整型转布尔类型',aa2)